package com.iwords.service;

/**
 * 
 */


import java.util.List;
import java.util.Map;


import com.iwords.service.object.LearningStatusEntity;
import javax.ejb.Remote;

/**
 * @author       BOLIN.HBC 
 * @time         2011-4-5    
 * @description  用户单词状态-SERVICE       
 */
@Remote
public interface LearningStatusService {

	public boolean moveSysLib(LearningStatusEntity entity);

	public void changeStatus(LearningStatusEntity entity);

	public List<LearningStatusEntity> getStatusList(LearningStatusEntity entity);
	
	/**
	 * 获取最终级别的单词
	 * 
	 * @param  entity
	 *         学习状态 <code>LearningStatusEntity</code>
	 * @return List<Long>
	 *         最终状态的单词ID结果集
	 */
	public List<LearningStatusEntity> getFinalList(LearningStatusEntity entity);
	
	/**
	 * 用户是否学习过该课本
	 * 
	 * @param 	entity
	 *        	学习状态
	 * @return	是否学习过
	 */
	public boolean isExistUserLib(LearningStatusEntity entity);
	
	/**
	 * 返回各个维度之间的单词数目
	 * 
	 * @param   entity
	 *          查询条件
	 * @return	Map<String,Integer>
	 *          Map<Know_u,100>,Map<Know_d,10>
	 */
	public Map<String, Integer> findAllLearningNumber(LearningStatusEntity entity);

	/**
	 * 获取维度上面可以背诵的单词
	 * 
	 * @param 	entity
	 *          请求实例
	 * @return	List<LearningStatusEntity>
	 *          请求维度上面的单词
	 */
	public List<LearningStatusEntity> getLevelList(LearningStatusEntity entity);


}
